package cn.stylefeng.guns.modular.basic.entity;

import java.io.Serializable;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import lombok.Data;

/**
 * 客户表
 */
@TableName("basic_customer")
@Data
public class BasicCustomer implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 状态
     */
    @TableField("status")
    private String status;

    /**
     * 项目id
     */
    @TableField("customer_operate_id")
    private Integer customerOperateId;

    /**
     * 所属项目
     */
    @TableField("customer_operate_name")
    private String customerOperateName;

    /**
     * 客户名称
     */
    @TableField("customer_name")
    private String customerName;

    /**
     * 客户编号
     */
    @TableField("customer_number")
    private String customerNumber;
    
    

    /**
     * WMS
     * 是否截取生产日期
     */
    @TableField("intercepts")
    private String intercepts;

    /**
     * WMS
     * 是否去除占用库存
     */
    @TableField("occupy")
    private String occupy;

    /**
     * WMS
     * 商品是否按照绑定库位入库
     */
    @TableField("binding")
    private String binding;

    /**
     * WMS
     * 是否出库订单确认
     */
    @TableField("outorderconfirm")
    private String outorderconfirm;
    
    /**
     * WMS
     * 是否生成货运订单
     */
    @TableField("wms_addtms")
    private String wmsAddtms;
    
    

    /**
     * 聚水潭appKey
     */
    @TableField("just_appkey")
    private String justAppkey;

    /**
     * 聚水潭appSecret
     */
    @TableField("just_appsecret")
    private String justAppsecret;

    /**
     * 聚水潭客户授权码
     */
    @TableField("access_token")
    private String accessToken;

    /**
     * 聚水潭我方授权码
     */
    @TableField("access_token_me")
    private String accessTokenme;

    /**
     * 聚水潭货主编码
     */
    @TableField("owner_co_id")
    private String ownercoId;
    
    

    /**
     * 新零帮发货门店id
     */
    @TableField("store_id_xlb")
    private String storeIdXlb;
    
    /**
     * 新零帮公司号
     */
    @TableField("gsnumber")
    private String gsnumber;
    
    /**
     * 自动拉取新零帮拣货任务
     */
    @TableField("pull_storagetask_xlb")
    private String pullStoragetaskXlb;

    /**
     * 新零帮预约任务仓库id
     */
    @TableField("xlb_storehouse_id")
    private String xlbStorehouseId;

    /**
     * 自动拉取新零帮入库申请单
     */
    @TableField("pull_yuyue_xlb")
    private String pullYuyueXlb;
    /**
     * 自动拉取新零帮门店退货单
     */
    @TableField("pull_return_xlb")
    private String pullReturnXlb;

    /**
     * 是否质检
     */
    @TableField("need_check")
    private String needCheck;
    

    
    /**
     * 零售WMS
     * 是否生成货运订单
     */
    @TableField("generate_tms")
    private String generateTms;
    
    /**
     * 零售WMS
     * AGV机器人（1海康、2tusk）
     */
    @TableField("agv_robot")
    private String agvRobot;
    

    /**
  *TMS模式（1零脉、2新零帮拣货任务、3零脉+新零帮接口）
     */
    @TableField("mode_tms")
    private String modeTms;
    
    

    /**
     * 适用系统
     */
    @TableField("customer_right")
    private String customerRight;

    /**
     * 合作期限
     */
    @TableField("customer_term")
    private String customerTerm;

    /**
     * 结算单位
     */
    @TableField("customer_settlement")
    private String customerSettlement;

    /**
     * 客户简称
     */
    @TableField("customer_UNO")
    private String customerUno;

    /**
     * 助记码
     */
    @TableField("customer_assistcode")
    private String customerAssistcode;

    /**
     * 联系人
     */
    @TableField("customer_contacts")
    private String customerContacts;

    /**
     * 传真
     */
    @TableField("customer_fax")
    private String customerFax;

    /**
     * 电话
     */
    @TableField("customer_tel")
    private String customerTel;

    /**
     * 邮箱
     */
    @TableField("customer_emall")
    private String customerEmall;

    /**
     * 网址
     */
    @TableField("customer_website")
    private String customerWebsite;

    /**
     * 所属省份
     */
    @TableField("customer_provinces")
    private String customerProvinces;

    /**
     * 所在城市
     */
    @TableField("customer_ciywhere")
    private String customerCiywhere;

    /**
     * 经营范围
     */
    @TableField("customer_range")
    private String customerRange;

    /**
     * 行业类型
     */
    @TableField("customer_industry")
    private String customerIndustry;

    /**
     * 客户级别
     */
    @TableField("customer_level")
    private String customerLevel;

    /**
     * 信用等级
     */
    @TableField("customer_creditrank")
    private String customerCreditrank;

    /**
     * 开户地
     */
    @TableField("customer_openingplace")
    private String customerOpeningplace;

    /**
     * 开户行
     */
    @TableField("customer_bank")
    private String customerBank;

    /**
     * 银行账号
     */
    @TableField("customer_bankaccount")
    private String customerBankaccount;

    /**
     * 营业执照
     */
    @TableField("customer_license")
    private String customerLicense;

    /**
     * 税务登记证
     */
    @TableField("customer_taxationcard")
    private String customerTaxationcard;

    /**
     * 工厂代码
     */
    @TableField("customer_factorycode")
    private String customerFactorycode;

    /**
     * 详细地址
     */
    @TableField("customer_address")
    private String customerAddress;

    /**
     * 社会统一信用代码
     */
    @TableField("customer_creditcode")
    private String customerCreditcode;

    /**
     * 备注
     */
    @TableField("customer_notes")
    private String customerNotes;

    /**
     * 乐观锁
     */
    @TableField("version")
    private Integer version;

    /**
     * 创建时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 修改时间
     */
    @TableField(value = "update_time", fill = FieldFill.UPDATE)
    private Date updateTime;

    /**
     * 创建用户
     */
    @TableField(value = "create_user", fill = FieldFill.INSERT)
    private Long createUser;

    /**
     * 修改用户
     */
    @TableField(value = "update_user", fill = FieldFill.UPDATE)
    private Long updateUser;

    /**
     * 交付客户id
     */
    @TableField("deliver_id")
    private Long deliverId;

    /**
     * 部门id
     */
    @TableField("dept_id")
    private Long deptId;

    /**
     * AGV接口URL
     */
    @TableField("agv_base_url")
    private String agvBaseUrl;

    /**
     * 整箱拣货模式 0人工 1 PDA
     */
    @TableField("box_pick_mode")
    private String boxPickMode;

    /**
     * 是否自动推荐入库库位
     */
    @TableField("in_warehousing")
    private String inWarehousing;

    /**
     * 是否开启任务运行限制 Y开启 N 禁用
     */
    @TableField("agv_task_run_flag")
    private String agvTaskRunFlag;

    /**
     *  是否电子签收
     */
    @TableField("is_etc_sign")
    private String isEtcSign;

    /**
     * 是否限制拣货位出库
     */
    @TableField("restocking_limit")
    private String restockingLimit;


    /**
     * 是否限制批次出库
     */
    @TableField("goods_batch_flag")
    private String goodsBatchFlag;
    /**
     * 是否储位限品
     */
    @TableField("storage_limit_flag")
    private String storageLimitFlag;

    /**
     * 是否整托存储区出
     */
    @TableField("pallet_storage_area_flag")
    private String palletStorageAreaFlag;

    /**
     * 是否整托存储区出
     */
    @TableField("pack_ord_type")
    private String packOrdType;

    /**
     * 上架限定绑定拣选位
     */
    @TableField("shelf_pick_position_flag")
    private String shelfPickPositionFlag;

    /**
     * 是否限制每人每单
     */
    @TableField("single_person_flag")
    private String singlePersonFlag;


    @Override
    public String toString() {
        return "BasicCustomer{" +
        "id=" + id +
        ", customerOperateId=" + customerOperateId +
        ", customerOperateName=" + customerOperateName +
        ", customerName=" + customerName +
        ", customerNumber=" + customerNumber +
        ", customerRight=" + customerRight +
        ", customerTerm=" + customerTerm +
        ", customerSettlement=" + customerSettlement +
        ", customerUno=" + customerUno +
        ", customerAssistcode=" + customerAssistcode +
        ", customerContacts=" + customerContacts +
        ", customerFax=" + customerFax +
        ", customerTel=" + customerTel +
        ", customerEmall=" + customerEmall +
        ", customerWebsite=" + customerWebsite +
        ", customerProvinces=" + customerProvinces +
        ", customerCiywhere=" + customerCiywhere +
        ", customerRange=" + customerRange +
        ", customerIndustry=" + customerIndustry +
        ", customerLevel=" + customerLevel +
        ", customerCreditrank=" + customerCreditrank +
        ", customerOpeningplace=" + customerOpeningplace +
        ", customerBank=" + customerBank +
        ", customerBankaccount=" + customerBankaccount +
        ", customerLicense=" + customerLicense +
        ", customerTaxationcard=" + customerTaxationcard +
        ", customerFactorycode=" + customerFactorycode +
        ", customerAddress=" + customerAddress +
        ", customerCreditcode=" + customerCreditcode +
        ", customerNotes=" + customerNotes +
        ", version=" + version +
        ", createTime=" + createTime +
        ", updateTime=" + updateTime +
        ", createUser=" + createUser +
        ", updateUser=" + updateUser +
        ", xlbStorehouseId=" + xlbStorehouseId +
        ", pullYuyueXlb=" + pullYuyueXlb +
        ", pullReturnXlb=" + pullReturnXlb +
        ", inWarehousing=" + inWarehousing +
        ", agvBaseUrl=" + agvBaseUrl +
        ", boxPickMode=" + boxPickMode +
        ", agvTaskRunFlag=" + agvTaskRunFlag +
        ", isEtcSign=" + isEtcSign +
        ", restockingLimit=" + restockingLimit +
        ", goodsBatchFlag=" + goodsBatchFlag +
        ", storageLimitFlag=" + storageLimitFlag +
        ", palletStorageAreaFlag=" + palletStorageAreaFlag +
                ", singlePersonFlag=" + singlePersonFlag +
                "}";
    }
}
